const prefix = '/api/global-config';

module.exports = app => {
  const {router, model, middleware} = app;

  /** 全局配置 */
  router.get(prefix, middleware.checkLogin, async ctx => {
    const [active_minutes, room_queue] = await Promise.all([
      model.Config.get('active_minutes', 30),// 判断是不是活跃主播的直播长度,分钟
      model.Config.get('room_queue', 30),// 处理直播间信息的线程并行数量
    ]);
    ctx.body = {active_minutes, room_queue};
  });

  /** 保存全局配置 */
  router.post(prefix, middleware.checkLogin, async ctx => {
    let {active_minutes, room_queue} = ctx.request.body;
    active_minutes = parseInt(active_minutes);
    room_queue = parseInt(room_queue);

    if (!(active_minutes > 0))
      return ctx.helper.error('活跃直播时长必须是大于0的整数');

    if (!(room_queue > 0))
      return ctx.helper.error('数据保存队列并发数量必须是大于0的整数');

    await Promise.all([
      app.redis.set('config:active_minutes', active_minutes),
      app.redis.set('config:room_queue', room_queue),
      model.Config.set('active_minutes', active_minutes),
      model.Config.set('room_queue', room_queue),
    ]);
    ctx.body = 'ok';
  });

};